package TouristManagement;

/**
 * Interface definition : TouristOffice
 * 
 * @author OpenORB Compiler
 */
public class TouristOfficePOATie extends TouristOfficePOA
{

    //
    // Private reference to implementation object
    //
    private TouristOfficeOperations _tie;

    //
    // Private reference to POA
    //
    private org.omg.PortableServer.POA _poa;

    /**
     * Constructor
     */
    public TouristOfficePOATie(TouristOfficeOperations tieObject)
    {
        _tie = tieObject;
    }

    /**
     * Constructor
     */
    public TouristOfficePOATie(TouristOfficeOperations tieObject, org.omg.PortableServer.POA poa)
    {
        _tie = tieObject;
        _poa = poa;
    }

    /**
     * Get the delegate
     */
    public TouristOfficeOperations _delegate()
    {
        return _tie;
    }

    /**
     * Set the delegate
     */
    public void _delegate(TouristOfficeOperations delegate_)
    {
        _tie = delegate_;
    }

    /**
     * _default_POA method
     */
    public org.omg.PortableServer.POA _default_POA()
    {
        if (_poa != null)
            return _poa;
        else
            return super._default_POA();
    }

    /**
     * Operation purchaseCard
     */
    public short purchaseCard(String name, TouristManagement.DateV startDate, TouristManagement.DateV endDate)
    {
        return _tie.purchaseCard( name,  startDate,  endDate);
    }

    /**
     * Operation consultListeSites
     */
    public TouristManagement.InfoSite[] consultListeSites(short touristCardNumber, TouristManagement.CoordsGPS position)
    {
        return _tie.consultListeSites( touristCardNumber,  position);
    }

    /**
     * Operation consultGlobalStat
     */
    public TouristManagement.GlobalStat consultGlobalStat()
    {
        return _tie.consultGlobalStat();
    }

    /**
     * Operation consultLocalStat
     */
    public TouristManagement.LocalStat consultLocalStat(short idSite)
    {
        return _tie.consultLocalStat( idSite);
    }

    /**
     * Operation getIdSite
     */
    public short[] getIdSite()
    {
        return _tie.getIdSite();
    }

    /**
     * Operation siteVisiting
     */
    public TouristManagement.Site siteVisiting(short touristCardNumber)
    {
        return _tie.siteVisiting( touristCardNumber);
    }

    /**
     * Operation existTourist
     */
    public boolean existTourist(short touristCardNumber)
    {
        return _tie.existTourist( touristCardNumber);
    }

    /**
     * Operation isVisitingSite
     */
    public boolean isVisitingSite(short touristCardNumber)
    {
        return _tie.isVisitingSite( touristCardNumber);
    }

}
